<?php

namespace app\api\controller;

use app\admin\model\Tips;
use app\api\model\Ocr;
use app\common\controller\Api;
use app\common\model\Category;
use Dompdf\Dompdf;
use Fairy\Html2WordMaker;
use PhpOffice\PhpSpreadsheet\Writer\Pdf\Mpdf;
use PhpOffice\PhpWord\Shared\ZipArchive;

/**
 * 首页接口
 */
class Index extends Api
{
    protected $noNeedLogin = ['*'];
    protected $noNeedRight = ['*'];

    /**
     * 首页
     *
     */
    public function index()
    {
        $category = Category::where(['pid'=>0])->field('id,name')->order('weigh desc')->select();
        foreach ($category as $k=>$v){
            $category[$k]['children'] = Category::where(['pid'=>$v['id']])->field('id,name')->order('weigh desc')->select();
        }
        $this->success('请求成功',$category);
    }


    //配置
    public function config()
    {
        $data = [
            'free_num'=>\app\common\model\Config::get(['name'=>'free_num'])->value,
            'level_rule'=>\app\common\model\Config::get(['name'=>'level_rule'])->value,
            'aboutus'=>\app\common\model\Config::get(['name'=>'aboutus'])->value,
            'advertising_img'=>\app\common\model\Config::get(['name'=>'advertising_img'])->value,
            'card_expire_img'=>\app\common\model\Config::get(['name'=>'card_expire_img'])->value,
            'open_card_img'=>\app\common\model\Config::get(['name'=>'open_card_img'])->value,
            'privacy_agreement'=>\app\common\model\Config::get(['name'=>'privacy_agreement'])->value,
            'user_agreement'=>\app\common\model\Config::get(['name'=>'user_agreement'])->value,
            'trouble_shooting'=>\app\common\model\Config::get(['name'=>'trouble_shooting'])->value,
        ];
        $this->success('请求成功',$data);
    }


    //提示
    public function trips()
    {
        $list = Tips::order('weigh desc')->select();

        $this->success('请求成功',$list);
    }

    /**
     * 将HTML内容转换为Word文档并提供下载
     * 支持基本的CSS样式转换
     *
     * @param string $html 要转换的HTML内容
     * @param string $filename 生成的Word文档文件名（不带扩展名）
     */
    public function htmlToWord() {
        // 2、浏览器下载
        Html2WordMaker::getInstance()
            ->addFile(ROOT_PATH.'1.html')
            ->fetchImg('http://php.test/html2word')
            ->download();

    }

    public function htmlToPdf()
    {
        // 实例化 DOMPDF
        $dompdf = new Dompdf();

// 加载 HTML 文件
        $html = file_get_contents(ROOT_PATH.'public/web/index.html');

// 加载 HTML 内容到 DOMPDF
        $dompdf->loadHtml($html);

// (可选) 设置纸张大小、方向等
        $dompdf->setPaper('A4', 'landscape');

// 渲染 PDF
        $dompdf->render();

// 输出 PDF 文件
        $dompdf->stream(ROOT_PATH."output.pdf", array("Attachment" => true));

    }

    public function htmlToPdf2()
    {

        // 实例化 mPDF
        $mpdf = new \Mpdf\Mpdf();

// 加载 HTML 文件内容
        $html = file_get_contents(ROOT_PATH.'1.html');

// 写入 HTML 到 mPDF 对象中
        $mpdf->WriteHTML($html);

// 输出 PDF 文件
        $mpdf->Output(ROOT_PATH.'output.pdf', 'D'); // 'D' 表示下载，你也可以设置为 'I'（内联显示）或 'S'（返回 PDF 内容作为字符串）

    }
}
